1. Field of the Invention
This invention relates to a motion vector detection device for detecting the motion vector (the quantity of motion) of a moving picture.
2. Description of the Related Art
Detection of a motion vector of a moving picture in the conventional practice is hereinafter explained.
A plurality of representative points (pixels) Pk, where k=0, 1, 2, . . . are designated for a picture G.sub.-1 preceding a current field picture G.sub.0 by one field. That is, referring to FIG. 14, a plurality of representative points Pk, where k=0, 1, 2, . . . , 15, are designated for the picture G preceding the current picture by one field. The pixels of the picture G.sub.1 of the current field, displaced by (x, y)=(n, m) from the representative points Pk one-field before are Ank, mk. Meanwhile, (n, m) denote vectors, x denotes the horizontal or transverse direction and y the vertical or longitudinal direction. The remainder S(n,m) in the vectors (n, m) is defined by formula 1. ##EQU1##
Referring to FIG. 14, a search area SE indicated by an area consisting of Q pixels and R pixels (the area defined by Q.times.R) is designated for each representative point Pk and the remainder S(n,m) is calculated for each of the vectors (n,m) in the search area SE in accordance with the formula (1). A value obtained by calculating vector (n.sub.min, m.sub.min) which will give the least remainder S(n, m) is called a motion vector. That is, since the picture one field before the current field and the picture of the current field in a moving picture may be reasonably thought of as being shifted by the vector (n.sub.min, m.sub.min), this vector is termed the motion vector.
An arrangement of a conventional motion vector detection device is shown in FIG. 15.
In this figure, picture data produced by raster scanning is supplied to an input terminal 101. During the time in which picture data one field before the current field is entered at the input terminal 101, data of the representative points Pk (k=0, 1, 2, . . . ) is stored in a representative point memory 102. Then, during the time when the current field picture data are supplied to input terminal 101 , the remainders S(n,m) are calculated in the following manner.
That is, with the device shown in FIG. 15, when data of a pixel Ai,j of the current field are entered at input terminal 101, data of the representative point Pk corresponding to the search area SE containing data of Ai,j are read out from data of the representative point Pk stored in the representative point memory 102, and a processing operation shown by the formula EQU .vertline.Ank,mk-Pk.vertline.
is carried out by a subtractor 103 and an absolute value unit 104. Since the purpose of the formula .vertline.Ank,mk-Pk.vertline. is to find a partial term of the remainder S(n,m), it is necessary to sum the results of calculation of the above formula cumulatively to find the remainder S(n,m).
To this end, a remainder memory 106 is provided in the arrangement of FIG. 15 for transiently holding intermediate results s(n, m). By way of a generalized explanation in connection with the arrangement of FIG. 15, data of the intermediate results s(n,m) of calculation of the remainder of the vector (n,m) corresponding to the pixels Ank,mk entered at input terminal 101 are read out from the remainder memory 106 and supplied to an adder 105 together with an output of the absolute value unit 104. An addition EQU s(n,m)+.vertline.Ank,mk-Pk.vertline.
is carried out in the adder 105. The result of addition is used as a new intermediate result s(n, m) to replace (overwrite) the past intermediate result s(n, m) at the same address, by way of updating the data of the intermediate results s(n, m).
By repeating the writing/readout of the intermediate results of the remainder calculating operation from remainder memory 106, the cumulative operations of the formula .vertline.Ank,mk-Pk.vertline. are all terminated at a point in time when the supply of the data of the pixels Ai,j of the current field into the input terminal 101 is terminated. The value of the intermediate result s(n, m) stored at this time in the remainder memory 106 represents the remainder S(n,m).
The data of the remainders S(n,m) in the remainder memory 106 is then read out and supplied to a comparator 107 to find the least vector by comparative processing to find the motion vector (n.sub.min, m.sub.min). Data of the motion vector is output at an output terminal 108.
Since the remainder memory 106 needs to store the intermediate results transiently, it is of a storage capacity equal to (Q.times.R) words.
JP Patent KOKAI Publication 1-269371 (1989) discloses a motion vector detection device of the above type comprising an input circuit for inputting television image signals, a representative point designating circuit for designating plural representative points in a one-field region, a processing circuit for calculating picture signals of the representative points of a field preceding the current field by one or more fields and the current image signals, a memory circuit for writing and reading output signals of the processing circuit and a processing control circuit for controlling the representative point designating circuit and the memory circuit. The controlling operation by the processing control circuit is made by correlating the positions of the representative points designated by the representative point designating circuit with the designated memory region of the memory circuit.
Meanwhile, in a small-sized video camera having effective pixels per field of 512.times.256 (vertical-horizontal), the motion vector is detected by setting the search area SE to 64.times.16 (Q.times.R), and the motion of the picture caused by hand movements of the cameraman during shooting is compensated by shifting the picture frame based on the motion vector. That is, by writing the picture data of the current field in e.g. a field memory, and reading out the written data with a shift corresponding to the detected moving vector, by way of taking advantage of the moving vector, it becomes possible to produce a picture corrected for hand movements or similar oscillations.
It is noted that, in finding the motion vector, the more the number of the representative points, the less is the error in the moving vector.
Meanwhile, the maximum possible number of representative points in the above mentioned small-sized video camera is (512.times.256)/(64.times.16)=8.times.16=128. That is, if the number of the representative points is more than this value, the search area SEa for a representative point Pka is overlapped with a search area SEb for another representative point Pkb, as shown in FIG. 16.
If the pixel of the overlapped portions, such as pixel Ai,j in FIG. 16, is entered in the above-mentioned conventional motion vector detection device, it becomes necessary to carry out processing operations represented by the formulas EQU .vertline.Ai,j-Pka.vertline.(a partial term of S(3, -1)) and EQU .vertline.Ai,j-Pkb.vertline.(a partial term of S(-4, -3))
simultaneously, which impossible to perform by the conventional motion vector detection device. An example for Q=9 and R=7 is shown in FIG. 16.
It is noted that, for calculating the motion vector, the following method may be cited in addition to the above-mentioned method of calculating the remainder S(n,m) for the entire raster.
This alternative method consists of dividing the raster into plural blocks for each of which the remainder in the above-mentioned vector (n,m) is calculated. For simplicity of explanation, an example is given herein of dividing the raster into first to fourth blocks b.sup.[1], b.sup.[2], b.sup.[3] and b.sup.[4]. The remainder in the vector (n,m) in each of these blocks may be found by a processing operation in accordance with the formula (2). ##EQU2##
Meanwhile, in the formula (2), k .epsilon. {k.vertline.Pk .epsilon. Bth block} and any one of the first to fourth blocks is indicated by B=1, 2, 3 or 4.
A vector (n.sub.min, m.sub.min) which becomes least among the remainder S(n,m) of the first block b.sup.[1], is calculated, and the value thereof is termed a motion vector of the first block b.sup.[1]. Similar operations are carried out for each of the remainders S(n m).sup.[2], S(nm).sup.[3] and S(n,m).sup.[4] and resulting values (n.sub.min, m.sub.min).sup.[2], (n.sub.min, m.sub.min).sup.[3],and (n.sub.min, m.sub.min).sup.[4] ; are termed motion vectors of the second, third and fourth blocks b.sup.[2], b.sup.[3] and b.sup.[4], respectively.
It is assumed that pixels of the first, second and the fourth blocks b.sup.[1], b.sup.[2] and b.sup.[4] image the background and those of the block b.sup.[3] image moving objects, such as men or cars. It is desirable that the background remains at a standstill without being moved from field to field.
If, in such case, the remainder is calculated for a raster in its entirety, the moving objects such as men or cars of the third block b.sup.[3] affect the remainder calculating process to render it impossible to find the correct motion vector. It is therefore more desirable to find the motion vector from block to block rather than to find the remainder for the raster in its entirety to find the motion vector.
Meanwhile, in the method to find the motion vector from block to block, as in the method to find the motion vector by calculating the remainder S(n,m) for the raster in its entirety, the search areas SE for Q.times.R for the respective representative points are overlapped if too many representative points are used, so that it may occur that the motion vector cannot be found with conventional devices.
In view of the above described status of the art, it is an object of the present invention to provide a motion vector detection device in which, when finding the motion vector for the raster in its entirety or from each of the blocks of the raster, a large number of representative points can be taken which enable errors of the motion vector to be reduced and in which the motion vector can be calculated even if a large number of representative points are used.